<?php
//后台登录
namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class LoginController extends Controller
{
    public function __construct(){
        //给控制器加中间件
        //$this->middleware(['ckadmin:login']);
    }

    /**
     * @Desc: 登录显示
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
     * @Author: WenYaobo
     * @DateTime: 2020-05-02 12:35
     */
    public function index(){
        //判断用户是否已经登录过
        if(auth()->check()){
            //跳转到后台首页
            return redirect(route('admin.index'));
        }
        return view('admin.login.login');
    }

    /**
     * @Desc: 登录
     * @param Request $request
     * @Author: WenYaobo
     * @DateTime: 2020-05-02 12:35
     */
    public function login(Request $request){
        $post = $this->validate($request,[
            'username'=>'required',
            'password'=>'required',
        ],[
            'username.required' => '账号没填喔~'
        ]);

        //登录
        $bool = auth()->attempt($post);
        //判断是否登录成功
        if($bool){
            //auth()->user() 返回当前登录的用户模型对象 存储在session中
            //laravel默认session是存储在文件中 可以优化到memcached redis中
            //$model = auth()->user();
            //dd($model->toArray());
            return redirect(route('admin.index'));
        }
        //withErrors 把信息写入到验证错误提示中,特殊的session,laravel中叫:闪存
        //闪存设置好后,只能在第一个http请求中获取到数据,之后就没有了
        return redirect(route('admin.login'))->withErrors(['error'=>'登录失败']);
    }
}
